package com.lh.runmanage.dao;

import com.lh.runmanage.model.InPutParam.UserInParam;
import com.lh.runmanage.model.UserModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author ：梁昊，后端工程师：梁昊
 * @create 2021-07-12 16:17
 * @function
 * @editLog
 */
@Mapper
public interface UserMapper {
    /**
     * 分页得到用户
     *
     * @param useName 账号
     * @return 分页用户数据
     */
    List<UserModel> selectUser(@Param("useName") String useName);
    /**
     * 登录
     *
     * @param mobile 手机号
     * @return 是否登录
     */
    UserModel logSystem(@Param("mobile") String mobile);

    /**
     * 修改用户信息
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    int updateUserById(UserInParam userInParam);

    /**
     * 根据ID删除用户
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    int deleteUserById(UserInParam userInParam);

    /**
     * 修改用户密码
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    int updateUserPassWordById(UserInParam userInParam);

    /**
     * 增加一个用户信息，手机号不能重复
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    int insertUser(UserInParam userInParam);

    /**
     * 增加一个用户信息，手机号不能重复
     *
     * @param userInParam com.lh.runmanage.model.InPutParam.UserInParam
     * @return 影响条数
     */
    int insertUserBeforeCheck(UserInParam userInParam);

    int updateUserBeforeCheck(UserInParam userInParam);

    /**
     * 根据用户ID，得到用户名
     *
     * @param id 主键
     * @return 一个用户
     */
    String selectUserNameById(@Param("id") String id);
}

